package Transmetteurs;
import java.util.*;
import Informations.*;
import Destinations.*;
import Transmetteurs.*;
import Sources.*;
import Sondes.*;
import Recepteurs.*;

/**
 * Classe abstract emetteur qui herite de la classe TransmetteurParfait
 * @author THIAM, NDIAYE
 * @param <R,T>
 *
 */
public abstract class TransmetteurAnalogique<R,E> extends Transmetteur<R,E> {

	/**
	 * Nbre d'echantillons par bits
	 */
	protected int nbreEchantillons;
	
	/**
	 * L'amplitude min
	 */
	protected float min;
	
	/**
	 * L'amplitude max
	 */
	protected float max;
	
	
	
	/**
	 * constructeur
	 * @param nbreEchantillons: le nbre d'echantillon par bit
	 * @param min: la valeur de l'amplitude min
	 * @param la valeur de l'amplitude max
	 */
	public TransmetteurAnalogique(int nbreEchantillons,float min,float max) {
	
		this.nbreEchantillons=nbreEchantillons;
		this.min=min;
		this.max=max;
	}
	
	public int nbEchantillons(){ 
		
		return this.nbreEchantillons;
	}
	
	public TransmetteurAnalogique(){}
	
	
	/**
	    * Cette methode va recevoir les informations emises par la source
	    */
	public abstract void recevoir (Information <R> information) throws InformationNonConforme; 
      
	
	/**
	    * Cette methode va emetre les informations recues
	    */
	public abstract void emettre() throws InformationNonConforme;
		
}
